<?xml version="1.0"?>
<component name="org.nuxeo.ecm.user.center.dashboard.pageproviders.override">

  <require>org.nuxeo.ecm.user.center.dashboard.pageproviders</require>

  <extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService">

    <coreQueryPageProvider name="user_domains">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Domain WHERE ecm:mixinType != 'HiddenInNavigation'
        AND ecm:isTrashed = 0
      </pattern>
      <sort ascending="true" column="dc:title"/>
      <pageSize>0</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="domain_published_documents">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document WHERE ecm:path STARTSWITH ? AND ecm:mixinType !=
        'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND
        ecm:mixinType != 'SystemDocument' AND
        ecm:isVersion = 0 AND ecm:isProxy = 1
      </pattern>
      <sort ascending="false" column="dc:issued"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_documents">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document WHERE dc:contributors = ? AND ecm:mixinType !=
        'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND
        ecm:mixinType != 'SystemDocument' AND
        ecm:isVersion = 0 AND ecm:isProxy = 0 AND
        ecm:isTrashed = 0 AND ecm:path STARTSWITH ?
      </pattern>
      <sort ascending="true" column="dc:modified"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_sections">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document WHERE ecm:primaryType = 'Section' AND
        ecm:mixinType != 'HiddenInNavigation' AND ecm:path STARTSWITH ?
      </pattern>
      <sort ascending="true" column="dc:modified"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_sites">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document WHERE ecm:mixinType = 'WebView' AND
        ecm:isTrashed = 0 AND webc:isWebContainer = 1 AND
        ecm:path STARTSWITH ?
      </pattern>
      <sort ascending="true" column="webc:name"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_workspaces">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Workspace WHERE ecm:mixinType != 'HiddenInNavigation' AND
        ecm:isTrashed = 0 AND ecm:isProxy = 0 AND ecm:path
        STARTSWITH ?
      </pattern>
      <sort ascending="true" column="dc:title"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_deleted_documents">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document WHERE dc:contributors = ? AND ecm:mixinType !=
        'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND
        ecm:mixinType != 'SystemDocument' AND
        ecm:isVersion = 0 AND ecm:isProxy = 0 AND
        ecm:isTrashed = 1
      </pattern>
      <sort ascending="true" column="dc:modified"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_favorites">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document where ecm:mixinType != 'HiddenInNavigation' AND
        ecm:isVersion = 0 AND ecm:isTrashed = 0 AND
        collectionMember:collectionIds/* = ?
      </pattern>
      <sort ascending="true" column="dc:title"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="user_shared_documents">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document where ecm:mixinType != 'HiddenInNavigation' AND
        ecm:isVersion = 0 AND ecm:isTrashed = 0 AND
        ecm:acl/*1/grant = 1 AND
        ecm:acl/*1/permission IN ('Read', 'ReadWrite', 'ReadRemove', 'Everything') AND
        ecm:acl/*1/principal IN ?
      </pattern>
      <sort ascending="true" column="dc:title"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

  </extension>

</component>
